num = 123  # 全局变量 nn

def print_xxx(): # 函数
    print("xxxxxxxxxxxxxx")
    
class Person:
    def __init__(self, name, age): 
        print("__init__方法被调用")
        # 对象名.属性名(变量名) = 值
        # 左边是属性， 右边是形参
        self.name = name
        self.age = age
        
    def eat(self): 
        print(f"{self.name} 爱干饭， 今年{self.age}岁")
        
    def __str__(self):
        # 一般返回属性信息的字符串格式，不要返回print
        return f"name = {self.name}, age = {self.age}"
    
# 自己能用：直接运行，能执行
# 别人不能用，导入模块，不能被执行
if __name__ == "__main__": # 自己能用，别人不能用
    print("1111111111这是测试代码，我自己测试用的，别人不要用111111111111")
    print(num)
    print_xxx()
    p = Person("测试测试测试", 18)
    p.eat()
    print("2222222222这是测试代码，我自己测试用的，别人不要用222222222222")